import { Alert, Tabs, TabItem } from '@aws-amplify/ui-react';
import { TerminalCommand } from '@/components/InstallScripts';
## 2.x to 3.x
### Installation
Install the 3.x version of the `@aws-amplify/ui-vue` library and the 5.x version of the `aws-amplify` library.
### Update and usage
`@aws-amplify/ui-vue@3.x` introduces the following breaking changes:
#### 1. `@aws-amplify/ui-vue@3.x` moves automatic signin on signup logic to `aws-amplify`.
If you are overriding `Auth.signUp`, update the override function call to include the `autoSignIn` option set to `enabled`. If this change is not made, users will not be automatically signed in on signup.
```diff
async handleSignUp(formData) {
let { username, password, attributes } = formData;
// custom username
username = username.toLowerCase();
attributes.email = attributes.email.toLowerCase();
return Auth.signUp({
username,
password,
attributes,
+ autoSignIn: {
+ enabled: true
+ }
});
}
```
#### 2. `@aws-amplify/ui-vue@3.x` removes legacy i18n translation keys
`@aws-amplify/ui-vue@3.x` replaces following legacy Authenticator texts:
- `Send Code` in reset password screen is replaced by `Send code`.
- `Forgot your password? ` with the trailing space is replaced by `Forgot your password`.
If you were using `I18n` to translate those keys, please update your translations accordingly to match the new strings.
## 1.x to 2.x
## Installation
Install the 2.x version of the `@aws-amplify/ui-vue` library.
If `@aws-amplify/ui-components` is in your `package.json`, please remove that
dependency.
### Update Main
Update the **main.js** file and remove the references to the older `ui-components` library as see below:
**main.js**
```diff
- import {
- applyPolyfills,
- defineCustomElements,
- } from '@aws-amplify/ui-components/loader';
- applyPolyfills().then(() => {
- defineCustomElements(window);
- });
- const app = createApp(App);
- app.config.isCustomElement = tag => tag.startsWith('amplify-');
- app.mount('#app');
import App from "./App.vue";
import { Amplify } from 'aws-amplify';
import awsconfig from './aws-exports';
import { createApp } from 'vue';
+ import '@aws-amplify/ui-vue/styles.css';
Amplify.configure(awsconfig);
createApp(App).mount('#app');
```
## Usage
Using the `Authenticator` component is similar to the `1.x` usage.
Below is an example of how to create an Authenticator.
**App.vue**
```diff
-
-
- My App
-
-
-
+
+
+
Hello {{ user.username }}!
+
+
+
```
## Breaking changes
The 2.x version of the `Authenticator` component has several differences from earlier versions. Here are a few of the major changes that you'll need to look out for.
### Slots
All the slot locations have changed with the 2.x version of the `Authenticator`. To get a
sense of the changes please check out the [Headers and Footers](../connected-components/authenticator/customization#headers--footers) section.
### Form Fields
The 2.x version of the `Authenticator` has a different format for the `formFields` prop. It also no longer accepts
`inputProps` nor `hint`. Instead, it's recommended that you use the [Headers and Footers Slots](../connected-components/authenticator/customization#headers--footers) or use the
[Sign Up Fields custimization](../connected-components/authenticator/customization#sign-up-fields). For more information on form field customizations
please see the [Form Field Customization](../connected-components/authenticator/customization#form-field-customization) section.
### CSS Styling
The 2.x version of the `Authenticator` has a completely different set of CSS variables. Please look over the [Amplify CSS Variables](../connected-components/authenticator/customization#styling) section for more information.
### `onAuthUIStateChange`
Previous versions of `Authenticator` exposed a `onAuthUIStateChange` handler to detect Auth state changes. For similar functionality see [useAuthenticator](/vue/connected-components/authenticator/advanced#useauthenticator).